import matplotlib.pyplot as plt

if __name__ == '__main__':
    # 创建图形和坐标轴,设置图像的大小
    fig, ax = plt.subplots(figsize=(6, 6))

    # 定义向量的起点和终点坐标
    start_point = (0, 0)
    end_point = (2, 4)

    # 设置箭头信息
    # 不建议使用，原因：数据设置正确，显示的时候超出范围！！！
    ax.arrow(start_point[0], start_point[1], end_point[0], end_point[1],
             head_width=0.3, head_length=0.5,
             fc='blue', ec='blue', linewidth=2)

    # 设置 x 轴和 y 轴坐标
    ax.set_xlim(-1, 5)
    ax.set_ylim(-1, 5)
    ax.set_aspect('equal')  # 确保坐标轴比例相同

    # 绘制原点标记
    ax.scatter(*start_point, color='black', s=50, zorder=3, label='vector (2,4)')

    # 添加坐标轴和标签
    ax.axhline(0, color='black', linewidth=0.5)  # x轴
    ax.axvline(0, color='black', linewidth=0.5)  # y轴

    # 设置坐标轴标签
    ax.set_xlabel("X-axis", fontsize=12)
    ax.set_ylabel("Y-axis", fontsize=12)
    # 设置图名
    ax.set_title("Vector (2,4) Visualization", fontsize=14)

    # 显示网格和标签
    ax.grid(True, linestyle='--', alpha=0.7)
    ax.legend()

    plt.show()
